home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2003 March / DPPCPRO0303.ISO / Extras / Content / Images / Studio NetObjects / Java Applets / led_countdown.class (.txt) < prev   
Encoding:
Java Class File  |  1998-10-22  |  10.0 KB  |  681 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.Graphics;
  7. import java.net.URL;
  8. import java.util.Date;
  9.  
  10. public class led_countdown extends Applet implements Runnable {
  11.    int lastHour;
  12.    int lastMinute;
  13.    int lastSecond;
  14.    int lastHourDigit;
  15.    int lastMinuteDigit;
  16.    int lastSecondDigit;
  17.    int lastTenHourDigit;
  18.    int lastTenMinuteDigit;
  19.    int lastTenSecondDigit;
  20.    int lastDayDigit;
  21.    int lastTenDayDigit;
  22.    int lastHundredDayDigit;
  23.    int lastYearDigit;
  24.    int lastTenYearDigit;
  25.    int lastHundredYearDigit;
  26.    boolean lastSign;
  27.    Thread tickTock;
  28.    int speed = 1000;
  29.    Color LEDColour;
  30.    Color BackGround;
  31.    Color FrameColour;
  32.    boolean includeYears;
  33.    boolean includeDays;
  34.    int shiftOver;
  35.    long targetSeconds;
  36.    Font theFont;
  37.    URL theURLToGoTo;
  38.    boolean mouseOut = true;
  39.    boolean notUpdatedYet = true;
  40.    String tick_sound;
  41.    String alarm_sound;
  42.  
  43.    public String[][] getParameterInfo() {
  44.       String[][] var1 = new String[][]{{"ledcolor", "string", "Color of the numbers (e.g. green)"}, {"backcolor", "string", "Background color of applet window"}, {"framecolor", "string", "Border color of applet window"}, {"year", "integer", "19xx (e.g. 96=1996)"}, {"month", "integer", "1-12"}, {"day", "integer", "1-31 (depending on month)"}, {"hour", "integer", "0-23"}, {"minute", "integer", "0-59"}, {"second", "integer", "0-59"}};
  45.       return var1;
  46.    }
  47.  
  48.    public String getAppletInfo() {
  49.       return new String("Netobjects LED countdown timer");
  50.    }
  51.  
  52.    public long YearsToDays(int var1) {
  53.       int var2 = 0;
  54.  
  55.       int var3;
  56.       for(var3 = 0; var2 < var1; var2 += 4) {
  57.          ++var3;
  58.       }
  59.  
  60.       return (long)Math.abs(365 * var1 + var3);
  61.    }
  62.  
  63.    public int DateToDayOfYear(int var1, int var2, int var3) {
  64.       int var4;
  65.       switch (var2) {
  66.          case 0:
  67.             var4 = 0;
  68.             break;
  69.          case 1:
  70.             var4 = 31;
  71.             break;
  72.          case 2:
  73.             var4 = 59;
  74.             break;
  75.          case 3:
  76.             var4 = 90;
  77.             break;
  78.          case 4:
  79.             var4 = 120;
  80.             break;
  81.          case 5:
  82.             var4 = 151;
  83.             break;
  84.          case 6:
  85.             var4 = 181;
  86.             break;
  87.          case 7:
  88.             var4 = 212;
  89.             break;
  90.          case 8:
  91.             var4 = 243;
  92.             break;
  93.          case 9:
  94.             var4 = 273;
  95.             break;
  96.          case 10:
  97.             var4 = 304;
  98.             break;
  99.          case 11:
  100.             var4 = 334;
  101.             break;
  102.          default:
  103.             var4 = 0;
  104.       }
  105.  
  106.       int var5 = (var1 + 1900) / 4;
  107.       if (var5 * 4 == var1 + 1900) {
  108.          ++var4;
  109.       } else {
  110.          var5 = (var1 + 1900) / 400;
  111.          if (var5 * 400 == var1 + 1900) {
  112.             ++var4;
  113.          }
  114.       }
  115.  
  116.       return var4 + var3;
  117.    }
  118.  
  119.    public void init() {
  120.       int var8 = 134;
  121.       this.lastHourDigit = 0;
  122.       this.lastMinuteDigit = 0;
  123.       this.lastSecondDigit = 0;
  124.       this.lastTenHourDigit = 0;
  125.       this.lastTenMinuteDigit = 0;
  126.       this.lastTenSecondDigit = 0;
  127.       this.lastDayDigit = 0;
  128.       this.lastTenDayDigit = 0;
  129.       this.lastHundredDayDigit = 0;
  130.       this.lastYearDigit = 0;
  131.       this.lastTenYearDigit = 0;
  132.       this.lastHundredYearDigit = 0;
  133.       this.lastSign = true;
  134.       String var1 = ((Applet)this).getParameter("backcolor");
  135.       this.BackGround = var1 == null ? Color.black : this.GetColourFromString(var1);
  136.       var1 = ((Applet)this).getParameter("ledcolor");
  137.       this.LEDColour = var1 == null ? Color.green : this.GetColourFromString(var1);
  138.       var1 = ((Applet)this).getParameter("framecolor");
  139.       this.FrameColour = var1 == null ? Color.green : this.GetColourFromString(var1);
  140.       var1 = ((Applet)this).getParameter("year");
  141.       int var2 = var1 == null ? 0 : Integer.valueOf(var1);
  142.       var1 = ((Applet)this).getParameter("month");
  143.       int var3 = var1 == null ? 0 : Integer.valueOf(var1) - 1;
  144.       var1 = ((Applet)this).getParameter("day");
  145.       int var4 = var1 == null ? 0 : Integer.valueOf(var1);
  146.       var1 = ((Applet)this).getParameter("hour");
  147.       int var5 = var1 == null ? 0 : Integer.valueOf(var1);
  148.       var1 = ((Applet)this).getParameter("minute");
  149.       int var6 = var1 == null ? 0 : Integer.valueOf(var1);
  150.       var1 = ((Applet)this).getParameter("second");
  151.       int var7 = var1 == null ? 0 : Integer.valueOf(var1);
  152.       this.targetSeconds = (this.YearsToDays(var2) + (long)this.DateToDayOfYear(var2, var3, var4)) * 24L * 60L * 60L + (long)(var5 * 60 * 60) + (long)(var6 * 60) + (long)var7;
  153.       var1 = ((Applet)this).getParameter("year-digits");
  154.       this.includeYears = var1 != null;
  155.       if (this.includeYears) {
  156.          var8 += 74;
  157.          this.shiftOver += 74;
  158.       }
  159.  
  160.       this.includeDays = true;
  161.       if (this.includeDays) {
  162.          var8 += 56;
  163.          this.shiftOver += 56;
  164.       }
  165.  
  166.       this.tick_sound = ((Applet)this).getParameter("tick_sound");
  167.       this.alarm_sound = ((Applet)this).getParameter("alarm_sound");
  168.       this.theFont = new Font("Helvetica", 0, 9);
  169.       ((Applet)this).resize(var8, 58);
  170.       ((Component)this).repaint();
  171.    }
  172.  
  173.    public Color GetColourFromString(String var1) {
  174.       if (var1.equalsIgnoreCase("BLACK")) {
  175.          return Color.black;
  176.       } else if (var1.equalsIgnoreCase("BLUE")) {
  177.          return Color.blue;
  178.       } else if (var1.equalsIgnoreCase("CYAN")) {
  179.          return Color.cyan;
  180.       } else if (var1.equalsIgnoreCase("DARKGRAY")) {
  181.          return Color.darkGray;
  182.       } else if (var1.equalsIgnoreCase("GRAY")) {
  183.          return Color.gray;
  184.       } else if (var1.equalsIgnoreCase("GREEN")) {
  185.          return Color.green;
  186.       } else if (var1.equalsIgnoreCase("LIGHTGRAY")) {
  187.          return Color.lightGray;
  188.       } else if (var1.equalsIgnoreCase("MAGENTA")) {
  189.          return Color.magenta;
  190.       } else if (var1.equalsIgnoreCase("ORANGE")) {
  191.          return Color.orange;
  192.       } else if (var1.equalsIgnoreCase("PINK")) {
  193.          return Color.pink;
  194.       } else if (var1.equalsIgnoreCase("RED")) {
  195.          return Color.red;
  196.       } else if (var1.equalsIgnoreCase("WHITE")) {
  197.          return Color.white;
  198.       } else {
  199.          return var1.equalsIgnoreCase("YELLOW") ? Color.yellow : Color.black;
  200.       }
  201.    }
  202.  
  203.    public void paint(Graphics var1) {
  204.       Date var2 = new Date();
  205.       Color var3 = var1.getColor();
  206.       var1.setColor(Color.black);
  207.       var1.fillRect(0, 0, ((Component)this).bounds().width - 1, 11);
  208.       var1.fillRect(0, ((Component)this).bounds().height - 12, ((Component)this).bounds().width - 1, ((Component)this).bounds().height - 1);
  209.       var1.setColor(this.BackGround);
  210.       var1.fillRect(0, 11, ((Component)this).bounds().width - 1, ((Component)this).bounds().height - 22);
  211.       var1.setColor(this.FrameColour);
  212.       var1.drawRect(0, 10, ((Component)this).bounds().width - 2, ((Component)this).bounds().height - 21);
  213.       this.DrawTextStuff(var1);
  214.       this.DrawClock(var1, var2);
  215.       var1.setColor(var3);
  216.    }
  217.  
  218.    public final synchronized void update(Graphics var1) {
  219.       Date var14 = new Date();
  220.       long var11 = (this.YearsToDays(var14.getYear()) + (long)this.DateToDayOfYear(var14.getYear(), var14.getMonth(), var14.getDate())) * 24L * 60L * 60L + (long)(var14.getHours() * 60 * 60) + (long)(var14.getMinutes() * 60) + (long)var14.getSeconds() - this.targetSeconds;
  221.       boolean var15 = var11 < 0L;
  222.       var11 = Math.abs(var11);
  223.       int var8 = (int)(var11 / 86400L);
  224.       int var2 = (int)((var11 - (long)(var8 * 86400)) / 3600L);
  225.       int var3 = (int)((var11 - (long)(var8 * 86400) - (long)(var2 * 60 * 60)) / 60L);
  226.       int var4 = (int)(var11 - (long)(var8 * 86400) - (long)(var2 * 60 * 60) - (long)(var3 * 60));
  227.       int var5 = var2 / 10;
  228.       var2 -= var5 * 10;
  229.       int var6 = var3 / 10;
  230.       var3 -= var6 * 10;
  231.       int var7 = var4 / 10;
  232.       var4 -= var7 * 10;
  233.       int var10 = var8 / 100;
  234.       var8 -= var10 * 100;
  235.       int var9 = var8 / 10;
  236.       var8 -= var9 * 10;
  237.       Color var13 = var1.getColor();
  238.       if (var4 != this.lastSecondDigit) {
  239.          this.DrawSecond(var4);
  240.          this.lastSecondDigit = var4;
  241.       }
  242.  
  243.       if (var7 != this.lastTenSecondDigit) {
  244.          this.DrawTenSecond(var7);
  245.          this.lastTenSecondDigit = var7;
  246.       }
  247.  
  248.       if (var3 != this.lastMinuteDigit) {
  249.          this.DrawMinute(var3);
  250.          this.lastMinuteDigit = var3;
  251.       }
  252.  
  253.       if (var6 != this.lastTenMinuteDigit) {
  254.          this.DrawTenMinute(var6);
  255.          this.lastTenMinuteDigit = var6;
  256.       }
  257.  
  258.       if (var2 != this.lastHourDigit) {
  259.          this.DrawHour(var2);
  260.          this.lastHourDigit = var2;
  261.       }
  262.  
  263.       if (var5 != this.lastTenHourDigit) {
  264.          this.DrawTenHour(var5);
  265.          this.lastTenHourDigit = var5;
  266.       }
  267.  
  268.       if (this.includeDays) {
  269.          if (var8 != this.lastDayDigit) {
  270.             this.DrawDay(var8);
  271.             this.lastDayDigit = var8;
  272.          }
  273.  
  274.          if (var9 != this.lastTenDayDigit) {
  275.             this.DrawTenDay(var9);
  276.             this.lastTenDayDigit = var9;
  277.          }
  278.  
  279.          if (var10 != this.lastHundredDayDigit) {
  280.             this.DrawHundredDay(var10);
  281.             this.lastHundredDayDigit = var10;
  282.          }
  283.       }
  284.  
  285.       if (var15 != this.lastSign) {
  286.          this.DrawSign(var15);
  287.       }
  288.  
  289.       this.DrawColons();
  290.       var1.setColor(var13);
  291.       if (this.tick_sound != null) {
  292.          ((Applet)this).play(((Applet)this).getDocumentBase(), this.tick_sound);
  293.       }
  294.  
  295.    }
  296.  
  297.    public synchronized void DrawTextStuff(Graphics var1) {
  298.       Color var2 = var1.getColor();
  299.       var1.setColor(Color.green);
  300.       var1.setFont(this.theFont);
  301.       if (this.includeDays) {
  302.          var1.drawString("DAYS", 31, ((Component)this).bounds().height - 2);
  303.       }
  304.  
  305.       var1.drawString("HOURS", this.shiftOver + 18, ((Component)this).bounds().height - 2);
  306.       var1.drawString("MINS", this.shiftOver + 61, ((Component)this).bounds().height - 2);
  307.       var1.drawString("SECS", this.shiftOver + 99, ((Component)this).bounds().height - 2);
  308.       var1.setColor(var2);
  309.    }
  310.  
  311.    public synchronized void DrawClock(Graphics var1, Date var2) {
  312.       long var12 = (this.YearsToDays(var2.getYear()) + (long)this.DateToDayOfYear(var2.getYear(), var2.getMonth(), var2.getDate())) * 24L * 60L * 60L + (long)(var2.getHours() * 60 * 60) + (long)(var2.getMinutes() * 60) + (long)var2.getSeconds() - this.targetSeconds;
  313.       boolean var14 = var12 < 0L;
  314.       var12 = Math.abs(var12);
  315.       int var9 = (int)(var12 / 86400L);
  316.       int var3 = (int)((var12 - (long)(var9 * 86400)) / 3600L);
  317.       int var4 = (int)((var12 - (long)(var9 * 86400) - (long)(var3 * 60 * 60)) / 60L);
  318.       int var5 = (int)(var12 - (long)(var9 * 86400) - (long)(var3 * 60 * 60) - (long)(var4 * 60));
  319.       int var6 = var3 / 10;
  320.       var3 -= var6 * 10;
  321.       int var7 = var4 / 10;
  322.       var4 -= var7 * 10;
  323.       int var8 = var5 / 10;
  324.       var5 -= var8 * 10;
  325.       int var11 = var9 / 100;
  326.       var9 -= var11 * 100;
  327.       int var10 = var9 / 10;
  328.       var9 -= var10 * 10;
  329.       this.DrawSecond(var5);
  330.       this.DrawTenSecond(var8);
  331.       this.DrawMinute(var4);
  332.       this.DrawTenMinute(var7);
  333.       this.DrawHour(var3);
  334.       this.DrawTenHour(var6);
  335.       if (this.includeDays) {
  336.          this.DrawDay(var9);
  337.          this.DrawTenDay(var10);
  338.          this.DrawHundredDay(var11);
  339.       }
  340.  
  341.       this.DrawSign(var14);
  342.       this.DrawColons();
  343.    }
  344.  
  345.    public synchronized void DrawSign(boolean var1) {
  346.       Graphics var2 = ((Component)this).getGraphics();
  347.       var2.setColor(this.LEDColour);
  348.       if (var1) {
  349.          var2.fillRect(5, 28, 8, 2);
  350.       } else {
  351.          var2.fillRect(5, 28, 8, 2);
  352.          var2.fillRect(8, 25, 2, 8);
  353.       }
  354.    }
  355.  
  356.    public synchronized void DrawDay(int var1) {
  357.       int var2 = this.includeYears ? 115 : 55;
  358.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, var2, 16);
  359.    }
  360.  
  361.    public synchronized void DrawTenDay(int var1) {
  362.       int var2 = this.includeYears ? 97 : 37;
  363.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, var2, 16);
  364.    }
  365.  
  366.    public synchronized void DrawHundredDay(int var1) {
  367.       int var2 = this.includeYears ? 79 : 19;
  368.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, var2, 16);
  369.    }
  370.  
  371.    public synchronized void DrawSecond(int var1) {
  372.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 113, 16);
  373.    }
  374.  
  375.    public synchronized void DrawTenSecond(int var1) {
  376.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 95, 16);
  377.    }
  378.  
  379.    public synchronized void DrawMinute(int var1) {
  380.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 75, 16);
  381.    }
  382.  
  383.    public synchronized void DrawTenMinute(int var1) {
  384.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 57, 16);
  385.    }
  386.  
  387.    public synchronized void DrawHour(int var1) {
  388.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 37, 16);
  389.    }
  390.  
  391.    public synchronized void DrawTenHour(int var1) {
  392.       this.DrawSevenSegments(((Component)this).getGraphics(), var1, this.shiftOver + 19, 16);
  393.    }
  394.  
  395.    public synchronized void DrawColons() {
  396.       Graphics var1 = ((Component)this).getGraphics();
  397.       byte var2 = 0;
  398.       var1.setColor(this.LEDColour);
  399.       if (this.includeYears) {
  400.          var2 = 74;
  401.          var1.fillRect(89, 23, 2, 2);
  402.          var1.fillRect(89, 32, 2, 2);
  403.       }
  404.  
  405.       if (this.includeDays) {
  406.          var1.fillRect(var2 + 71, 23, 2, 2);
  407.          var1.fillRect(var2 + 71, 32, 2, 2);
  408.       }
  409.  
  410.       var1.fillRect(this.shiftOver + 54, 23, 2, 2);
  411.       var1.fillRect(this.shiftOver + 54, 32, 2, 2);
  412.       var1.fillRect(this.shiftOver + 91, 23, 2, 2);
  413.       var1.fillRect(this.shiftOver + 91, 32, 2, 2);
  414.    }
  415.  
  416.    private synchronized void DrawSevenSegments(Graphics var1, int var2, int var3, int var4) {
  417.       switch (var2) {
  418.          case -1:
  419.             this.DrawSegment0Off(var1, var3, var4);
  420.             this.DrawSegment1Off(var1, var3, var4);
  421.             this.DrawSegment2Off(var1, var3, var4);
  422.             this.DrawSegment3Off(var1, var3, var4);
  423.             this.DrawSegment4Off(var1, var3, var4);
  424.             this.DrawSegment5Off(var1, var3, var4);
  425.             this.DrawSegment6Off(var1, var3, var4);
  426.             return;
  427.          case 0:
  428.             this.DrawSegment0On(var1, var3, var4);
  429.             this.DrawSegment1On(var1, var3, var4);
  430.             this.DrawSegment2On(var1, var3, var4);
  431.             this.DrawSegment3Off(var1, var3, var4);
  432.             this.DrawSegment4On(var1, var3, var4);
  433.             this.DrawSegment5On(var1, var3, var4);
  434.             this.DrawSegment6On(var1, var3, var4);
  435.             return;
  436.          case 1:
  437.             this.DrawSegment0Off(var1, var3, var4);
  438.             this.DrawSegment1Off(var1, var3, var4);
  439.             this.DrawSegment2On(var1, var3, var4);
  440.             this.DrawSegment3Off(var1, var3, var4);
  441.             this.DrawSegment4Off(var1, var3, var4);
  442.             this.DrawSegment5On(var1, var3, var4);
  443.             this.DrawSegment6Off(var1, var3, var4);
  444.             return;
  445.          case 2:
  446.             this.DrawSegment0On(var1, var3, var4);
  447.             this.DrawSegment1Off(var1, var3, var4);
  448.             this.DrawSegment2On(var1, var3, var4);
  449.             this.DrawSegment3On(var1, var3, var4);
  450.             this.DrawSegment4On(var1, var3, var4);
  451.             this.DrawSegment5Off(var1, var3, var4);
  452.             this.DrawSegment6On(var1, var3, var4);
  453.             return;
  454.          case 3:
  455.             this.DrawSegment0On(var1, var3, var4);
  456.             this.DrawSegment1Off(var1, var3, var4);
  457.             this.DrawSegment2On(var1, var3, var4);
  458.             this.DrawSegment3On(var1, var3, var4);
  459.             this.DrawSegment4Off(var1, var3, var4);
  460.             this.DrawSegment5On(var1, var3, var4);
  461.             this.DrawSegment6On(var1, var3, var4);
  462.             return;
  463.          case 4:
  464.             this.DrawSegment0Off(var1, var3, var4);
  465.             this.DrawSegment1On(var1, var3, var4);
  466.             this.DrawSegment2On(var1, var3, var4);
  467.             this.DrawSegment3On(var1, var3, var4);
  468.             this.DrawSegment4Off(var1, var3, var4);
  469.             this.DrawSegment5On(var1, var3, var4);
  470.             this.DrawSegment6Off(var1, var3, var4);
  471.             return;
  472.          case 5:
  473.             this.DrawSegment0On(var1, var3, var4);
  474.             this.DrawSegment1On(var1, var3, var4);
  475.             this.DrawSegment2Off(var1, var3, var4);
  476.             this.DrawSegment3On(var1, var3, var4);
  477.             this.DrawSegment4Off(var1, var3, var4);
  478.             this.DrawSegment5On(var1, var3, var4);
  479.             this.DrawSegment6On(var1, var3, var4);
  480.             return;
  481.          case 6:
  482.             this.DrawSegment0On(var1, var3, var4);
  483.             this.DrawSegment1On(var1, var3, var4);
  484.             this.DrawSegment2Off(var1, var3, var4);
  485.             this.DrawSegment3On(var1, var3, var4);
  486.             this.DrawSegment4On(var1, var3, var4);
  487.             this.DrawSegment5On(var1, var3, var4);
  488.             this.DrawSegment6On(var1, var3, var4);
  489.             return;
  490.          case 7:
  491.             this.DrawSegment0On(var1, var3, var4);
  492.             this.DrawSegment1Off(var1, var3, var4);
  493.             this.DrawSegment2On(var1, var3, var4);
  494.             this.DrawSegment3Off(var1, var3, var4);
  495.             this.DrawSegment4Off(var1, var3, var4);
  496.             this.DrawSegment5On(var1, var3, var4);
  497.             this.DrawSegment6Off(var1, var3, var4);
  498.             return;
  499.          case 8:
  500.             this.DrawSegment0On(var1, var3, var4);
  501.             this.DrawSegment1On(var1, var3, var4);
  502.             this.DrawSegment2On(var1, var3, var4);
  503.             this.DrawSegment3On(var1, var3, var4);
  504.             this.DrawSegment4On(var1, var3, var4);
  505.             this.DrawSegment5On(var1, var3, var4);
  506.             this.DrawSegment6On(var1, var3, var4);
  507.             return;
  508.          case 9:
  509.             this.DrawSegment0On(var1, var3, var4);
  510.             this.DrawSegment1On(var1, var3, var4);
  511.             this.DrawSegment2On(var1, var3, var4);
  512.             this.DrawSegment3On(var1, var3, var4);
  513.             this.DrawSegment4Off(var1, var3, var4);
  514.             this.DrawSegment5On(var1, var3, var4);
  515.             this.DrawSegment6Off(var1, var3, var4);
  516.             return;
  517.          default:
  518.       }
  519.    }
  520.  
  521.    private synchronized void DrawSegment0On(Graphics var1, int var2, int var3) {
  522.       var1.setColor(this.LEDColour);
  523.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 1, 9);
  524.    }
  525.  
  526.    private synchronized void DrawSegment0Off(Graphics var1, int var2, int var3) {
  527.       var1.setColor(this.BackGround);
  528.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 1, 9);
  529.    }
  530.  
  531.    private synchronized void DrawSegment3On(Graphics var1, int var2, int var3) {
  532.       var1.setColor(this.LEDColour);
  533.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 12, 9);
  534.    }
  535.  
  536.    private synchronized void DrawSegment3Off(Graphics var1, int var2, int var3) {
  537.       var1.setColor(this.BackGround);
  538.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 12, 9);
  539.    }
  540.  
  541.    private synchronized void DrawSegment6On(Graphics var1, int var2, int var3) {
  542.       var1.setColor(this.LEDColour);
  543.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 23, 9);
  544.    }
  545.  
  546.    private synchronized void DrawSegment6Off(Graphics var1, int var2, int var3) {
  547.       var1.setColor(this.BackGround);
  548.       this.DrawHorizontalLine(var1, var2 + 3, var3 + 23, 9);
  549.    }
  550.  
  551.    private synchronized void DrawSegment1On(Graphics var1, int var2, int var3) {
  552.       var1.setColor(this.LEDColour);
  553.       this.DrawVerticalLine(var1, var2 + 1, var3 + 3, 9);
  554.    }
  555.  
  556.    private synchronized void DrawSegment1Off(Graphics var1, int var2, int var3) {
  557.       var1.setColor(this.BackGround);
  558.       this.DrawVerticalLine(var1, var2 + 1, var3 + 3, 9);
  559.    }
  560.  
  561.    private synchronized void DrawSegment2On(Graphics var1, int var2, int var3) {
  562.       var1.setColor(this.LEDColour);
  563.       this.DrawVerticalLine(var1, var2 + 12, var3 + 3, 9);
  564.    }
  565.  
  566.    private synchronized void DrawSegment2Off(Graphics var1, int var2, int var3) {
  567.       var1.setColor(this.BackGround);
  568.       this.DrawVerticalLine(var1, var2 + 12, var3 + 3, 9);
  569.    }
  570.  
  571.    private synchronized void DrawSegment4On(Graphics var1, int var2, int var3) {
  572.       var1.setColor(this.LEDColour);
  573.       this.DrawVerticalLine(var1, var2 + 1, var3 + 14, 9);
  574.    }
  575.  
  576.    private synchronized void DrawSegment4Off(Graphics var1, int var2, int var3) {
  577.       var1.setColor(this.BackGround);
  578.       this.DrawVerticalLine(var1, var2 + 1, var3 + 14, 9);
  579.    }
  580.  
  581.    private synchronized void DrawSegment5On(Graphics var1, int var2, int var3) {
  582.       var1.setColor(this.LEDColour);
  583.       this.DrawVerticalLine(var1, var2 + 12, var3 + 14, 9);
  584.    }
  585.  
  586.    private synchronized void DrawSegment5Off(Graphics var1, int var2, int var3) {
  587.       var1.setColor(this.BackGround);
  588.       this.DrawVerticalLine(var1, var2 + 12, var3 + 14, 9);
  589.    }
  590.  
  591.    private synchronized void DrawHorizontalLine(Graphics var1, int var2, int var3, int var4) {
  592.       var1.drawLine(var2 + 1, var3 - 1, var2 + var4 - 3, var3 - 1);
  593.       var1.drawLine(var2, var3, var2 + var4 - 1, var3);
  594.       var1.drawLine(var2 + 1, var3 + 1, var2 + var4 - 3, var3 + 1);
  595.    }
  596.  
  597.    private synchronized void DrawVerticalLine(Graphics var1, int var2, int var3, int var4) {
  598.       var1.drawLine(var2 - 1, var3 + 1, var2 - 1, var3 + var4 - 3);
  599.       var1.drawLine(var2, var3, var2, var3 + var4 - 1);
  600.       var1.drawLine(var2 + 1, var3 + 1, var2 + 1, var3 + var4 - 3);
  601.    }
  602.  
  603.    public boolean mouseMove(Event var1, int var2, int var3) {
  604.       if (this.theURLToGoTo != null && this.notUpdatedYet) {
  605.          this.notUpdatedYet = false;
  606.          ((Applet)this).showStatus(this.theURLToGoTo.toExternalForm());
  607.       }
  608.  
  609.       return true;
  610.    }
  611.  
  612.    public boolean mouseDrag(Event var1, int var2, int var3) {
  613.       if (this.theURLToGoTo != null && this.notUpdatedYet) {
  614.          this.notUpdatedYet = false;
  615.          ((Applet)this).showStatus(this.theURLToGoTo.toExternalForm());
  616.       }
  617.  
  618.       return true;
  619.    }
  620.  
  621.    public boolean mouseEnter(Event var1, int var2, int var3) {
  622.       if (this.theURLToGoTo != null) {
  623.          ((Applet)this).showStatus(this.theURLToGoTo.toExternalForm());
  624.       }
  625.  
  626.       this.mouseOut = false;
  627.       return true;
  628.    }
  629.  
  630.    public boolean mouseDown(Event var1, int var2, int var3) {
  631.       if (this.theURLToGoTo != null) {
  632.          ((Applet)this).showStatus(this.theURLToGoTo.toExternalForm());
  633.       }
  634.  
  635.       return true;
  636.    }
  637.  
  638.    public boolean mouseUp(Event var1, int var2, int var3) {
  639.       if (this.theURLToGoTo != null && !this.mouseOut) {
  640.          ((Applet)this).getAppletContext().showDocument(this.theURLToGoTo);
  641.       }
  642.  
  643.       return true;
  644.    }
  645.  
  646.    public boolean mouseExit(Event var1, int var2, int var3) {
  647.       this.notUpdatedYet = true;
  648.       this.mouseOut = true;
  649.       ((Applet)this).showStatus("");
  650.       return true;
  651.    }
  652.  
  653.    public void start() {
  654.       if (this.tickTock == null) {
  655.          this.tickTock = new Thread(this);
  656.          this.tickTock.start();
  657.       }
  658.  
  659.    }
  660.  
  661.    public void stop() {
  662.       if (this.tickTock != null) {
  663.          this.tickTock.stop();
  664.          this.tickTock = null;
  665.       }
  666.  
  667.    }
  668.  
  669.    public void run() {
  670.       while(true) {
  671.          try {
  672.             Thread.currentThread();
  673.             Thread.sleep((long)this.speed);
  674.          } catch (InterruptedException var1) {
  675.          }
  676.  
  677.          super.repaint();
  678.       }
  679.    }
  680. }
  681.